#include <hi_types_base.h>
#include "iot_gpio.h"
#include "iot_pwm.h"
#include "hi_gpio.h"
#include "hi_io.h"

#include "hi_pwm.h"
#include "hi_time.h"

#include "ohos_init.h"  // 用于初始化服务(services)和功能(features)
#include "cmsis_os2.h"  // CMSIS-RTOS API V2


void set_angle(hi_u32 utime)
{
    IoTGpioInit(HI_GPIO_IDX_8);

    hi_io_set_func(HI_GPIO_IDX_8,HI_IO_FUNC_GPIO_8_GPIO);

    IoTGpioSetDir(HI_GPIO_IDX_8, HI_GPIO_DIR_OUT);

    IoTGpioSetOutputVal(HI_GPIO_IDX_8,HI_GPIO_VALUE1);

    hi_udelay(utime);

    IoTGpioSetOutputVal(HI_GPIO_IDX_8,HI_GPIO_VALUE0);
    hi_udelay(20000-utime);
}


// void set_anglel(hi_u32 utime)
// {
//     IoTGpioInit(HI_GPIO_IDX_4);

//     hi_io_set_func(HI_GPIO_IDX_4,HI_IO_FUNC_GPIO_4_GPIO);

//     IoTGpioSetDir(HI_GPIO_IDX_4, HI_GPIO_DIR_OUT);

//     IoTGpioSetOutputVal(HI_GPIO_IDX_4,HI_GPIO_VALUE1);

//     hi_udelay(utime);

//     IoTGpioSetOutputVal(HI_GPIO_IDX_4,HI_GPIO_VALUE0);
//     hi_udelay(20000-utime);
// }

//左转
void engine_turn_left(void)//关窗
{
    for (int i = 0; i <10; i++) {
        set_angle(1700);//右边窗户打开
        // set_anglel(650);//左边窗户打开
    }
}

//右转
void engine_turn_right(void)//开窗
{
    for (int i = 0; i <10; i++) {
        set_angle(700);//右边窗户关闭
        // set_anglel(1800);//左边窗户关闭
    }
}

//居中
void regress_middle(void)
{
    for (int i = 0; i <10; i++) {
        set_angle(1500);
    }
}

